package com.springboot.middleware.middleware_grab_red_envelopes.server.service;

import com.springboot.middleware.middleware_grab_red_envelopes.server.dto.RedPacketDto;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;

/**
 * 红包业务处理接口
 */
public interface RedPacketService {
    /**
     * 发红包核心业务逻辑实现
     *
     * @param dto 存放用户id,红包个数和总金额的dto
     * @return 红包全局唯一标识串
     * @throws Exception
     */
    String handOut(RedPacketDto dto) throws Exception;

    /**
     * 抢红包
     *
     * @param userId 用户id
     * @param redId  红包全局唯一标识串
     * @return 红包金额
     * @throws Exception
     */
    BigDecimal rob(Integer userId, String redId) throws Exception;
}
